public class test11_6_2 {
    public static void main(String[] args){
        //整型常量
        int a = 100;
        int b = 015;
        int c = 0xff;
        int d = 0b1001010101;

        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        System.out.println("d = " + d);

        // int salary =  30000;    //整形常量，默认为 int 类型
        long yearSalary = 3000000000L;    //整形常量，以 L 结尾，表示 long 类型
        System.out.println("你的年薪:" + yearSalary);

        //浮点型常量
        // double d1 = 3.14;
        double d2 = 3.14E2;     //科学计数法，表示 3.14 * 10^2
        System.out.println(d2);
        //float f1 = 1.65;        //浮点常量默认为 double 类型，如果要表示 float 类型，需要在常量后面加上 f 或 F
        //float f1 = 1.65F;

        //浮点数不精确，尽量不要直接比较
        float f2 = 0.1F;
        double d3 = 1.0 / 10;
        System.out.println(f2 == d3);

        //字符型常量
        char c1 = 'a';
        char c2 = '中';
        char c3 = '\u0061';     //unicode 编码

        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);

        //Java中字符串不是基本数据类型，而是引用类型
        String str = "我爱中国";
        System.out.println(str);

        //转义字符
        char c4 = '\n';
        char c5 = '\t';
        System.out.println("Hello"+c4+"World");
        System.out.println("Hello"+c5+"World");

        //布尔型常量
        boolean b1 = true;
        // boolean b2 = false;

        if(b1){
            System.out.println("b1 is true");
        }else{
            System.out.println("b1 is false");
        }
    }
}



/*
 * Java 语言整型常量的四种表示形式：
 * 十进制：123
 * 八进制：0123，要求以 0 开头
 * 十六进制：0x123，要求以 0x 或 0X 开头
 * 二进制：0b010101，要求以 0b 或 0B 开头
 * 
 * 浮点型：float，double
 * 浮点型不精确，不要用于比较
 * 浮点常量默认为 double 类型，如果要表示 float 类型，需要在常量后面加上 f 或 F
 * 
 * 转义字符：\n，\t，\u0061
 * 
 * 布尔型：true，false
 * 布尔型不可以使用 0 或 1 表示
 */